Crank Nicolson Method